TLB POR HARDWARE


Generalmente el TLB está dentro de la MMU (Unidad de Memoria Principal) y consiste en un pequeño número de entradas, cada entrada contiene información acerca de una página en particular:



Cuando se presenta una dirección virtual a la MMU para ser traducida, lo que hace el hardware es:


  1. Verificar si su número de página virtual está presente en el TLB, comparándolo con todas las entradas simultáneamente (es decir, en paralelo).

  2. Si hay una concordancia válida y el acceso no viola los bits de protección, el marco de página se toma directamente del TLB, sin recurrir a la tabla de páginas.

  3. Si el número de página virtual está presenta en el TLB pero la instrucción esta tratando de escribir en una pagina sólo de lectura se generará una fallo de protección, tal como sucederías si se usara la tabla de páginas.

Qué sucede si el número de pagina virtual no está en el TLB:


  1. La MMU detecta la falta de concordancia y realiza una búsqueda ordinaria en la tabla de páginas.

  2. A continuación desaloja una de las entradas del TLB y la sustituye por la entrada de tabla de paginas que encontró.

  3. Por tanto, si esa página se usa pronto otra vez, se le encentará en el TLB.

  4. Cuando una entrada se desaloja del TLB, el bit de modificación se copia en su entrada de tabla de paginas en la memoria. Los demás valores ya están ahí.

  5. Cuando el TLB se carga de la tabla de paginas. se toman todos los campo, de la memoria.